Popular Searches
Popular Course Categories
Popular Courses

Spacing Systems

Spacing Systems

Design Systems

Spacing Systems in Figma

A Spacing System in Figma is a structured and reusable approach to defining the space between, around, and inside UI elements. It helps designers maintain visual consistency, hierarchy, alignment, and rhythm across screens, components, and complete products.

A well-defined spacing system reduces random spacing decisions and makes designs easier to build, review, scale, and hand off to developers. Common spacing systems use a base unit such as 4px or 8px and create a predictable scale from it.

For professional UI design, spacing works closely with Auto Layout, layout guides, grids, components, typography, responsive design, and design-system documentation. Figma's Auto Layout supports vertical, horizontal, and grid flows, with properties such as gap and padding for controlling spacing.

Learn professional Figma design through JustAcademy Figma Training and explore the Register for Figma Course Demo.


1. What is a Spacing System?

A Spacing System is a predefined set of spacing values used consistently throughout a design. Instead of choosing random values such as 13px, 17px, 23px, and 29px, a designer follows an approved spacing scale such as 4px, 8px, 12px, 16px, 24px, 32px, 40px, and 48px.

2. Simple Definition

Spacing System = A consistent set of predefined values used to control the empty space between and around interface elements.

3. Why is Spacing Important in UI Design?

  • Creates visual consistency.
  • Improves readability.
  • Creates clear hierarchy.
  • Separates related and unrelated content.
  • Makes interfaces easier to scan.
  • Reduces random design decisions.
  • Improves responsive behavior.
  • Makes designs easier to develop.
  • Supports reusable components.
  • Creates a predictable design language.

4. Spacing as a Design System Foundation

Spacing is one of the fundamental foundations of a design system. Along with color, typography, grids, icons, components, and interaction states, spacing defines how the interface is structured.

Design System

     ↓

Spacing Scale

     ↓

Layout Rules

     ↓

Components

     ↓

Screens

     ↓

Consistent Product Experience

5. Spacing and Visual Hierarchy

Spacing communicates relationships between elements. Smaller spacing usually indicates stronger relationships, while larger spacing can indicate separation between groups or sections.

Title

↓ 8px

Description

↓ 16px

Button

↓ 32px

Next Section

6. Spacing and Grouping

Elements that belong together should generally have smaller internal spacing, while separate groups can use larger spacing.

RelationshipExample Spacing
Icon and label4px–8px
Title and description8px–16px
Form fields16px–24px
Content groups24px–40px
Major sections40px–80px

7. Base Spacing Unit

The base spacing unit is the smallest standard value from which other spacing values are derived. A design system may use 4px or 8px as its base unit.

Base Unit = 8px

8 × 1 = 8px

8 × 2 = 16px

8 × 3 = 24px

8 × 4 = 32px

8 × 5 = 40px

8 × 6 = 48px

8. 4-Point Spacing System

A 4-point system uses multiples of 4 as its primary spacing values.

4

8

12

16

20

24

28

32

36

40

48

56

64

9. 8-Point Spacing System

An 8-point system uses multiples of 8 as its primary spacing values. It is a popular approach for UI layouts and can be used with both fixed and responsive layouts.

8

16

24

32

40

48

56

64

72

80

10. Why Use an 8-Point System?

  • Creates predictable spacing.
  • Reduces arbitrary values.
  • Works well with common screen dimensions.
  • Supports consistent component design.
  • Helps developers translate design values into code.
  • Improves visual rhythm.

11. Modified Spacing Systems

A spacing system does not have to use only multiples of 8. Some systems use a modified 8-point approach and allow smaller values such as 4px or 6px when required by specific UI situations. This provides controlled flexibility while maintaining overall consistency.

12. Spacing Scale

A spacing scale is the complete collection of approved spacing values in a design system.

TokenValueTypical Use
space-14pxVery small gaps
space-28pxIcon-label spacing
space-312pxCompact content
space-416pxStandard spacing
space-624pxComponent spacing
space-832pxGroup spacing
space-1040pxSection spacing
space-1248pxLarge section spacing
space-1664pxMajor layout spacing

13. Spacing Tokens

Spacing tokens are named references for approved spacing values. They allow designers and developers to communicate spacing consistently.

space-1  = 4px

space-2  = 8px

space-3  = 12px

space-4  = 16px

space-6  = 24px

space-8  = 32px

space-10 = 40px

space-12 = 48px

space-16 = 64px

14. Semantic Spacing Tokens

Instead of using only numeric names, a system can define semantic names based on usage.

space-component-inline = 8px

space-component-stack = 16px

space-section = 32px

space-page-section = 64px

15. Numeric Tokens vs Semantic Tokens

NumericSemantic
space-4space-input-gap
space-8space-card-content
space-16space-form-field
space-32space-section

16. Padding

Padding is the space between the boundary of a container and its child content. In Figma Auto Layout, padding can be applied uniformly, horizontally and vertically, or individually to the top, right, bottom, and left sides.

┌─────────────────────────┐

│       Padding            │

│   ┌─────────────────┐    │

│   │     Content     │    │

│   └─────────────────┘    │

│       Padding            │

└─────────────────────────┘

17. Margin

Margin refers to space outside an element relative to surrounding elements or containers. In Figma, designers often create the visual equivalent through Auto Layout gaps, parent padding, layout guides, and positioning rules.

18. Gap

Gap defines the distance between sibling objects inside an Auto Layout frame. Figma allows a specified numeric gap or automatic spacing in supported horizontal and vertical flows.

Item A

   ↓

16px Gap

   ↓

Item B

   ↓

16px Gap

   ↓

Item C

19. Padding vs Gap

PropertyControls
PaddingSpace between parent boundary and children
GapSpace between sibling children

20. Internal Spacing

Internal spacing controls relationships inside a component, such as the space between an icon and label, title and description, or input label and field.

21. External Spacing

External spacing controls the relationship between a component and other components or sections.

Component A

     ↓ 24px

Component B

     ↓ 32px

Component C

22. Micro Spacing

Micro spacing is used for very small relationships such as icons, badges, labels, and inline elements.

UsePossible Value
Icon to text4px–8px
Badge padding4px–8px
Small inline elements4px–12px

23. Component Spacing

Component spacing defines how content is arranged inside reusable components such as buttons, cards, inputs, menus, and navigation items.

24. Section Spacing

Section spacing creates separation between major areas of a page. It should usually be larger than the spacing used inside individual components.

Component spacing → 8px / 16px

Group spacing     → 24px / 32px

Section spacing   → 48px / 64px

Page spacing      → 64px / 80px

25. Spacing and Typography

Spacing and typography should be designed together. Font size, line height, paragraph spacing, heading spacing, and section spacing all contribute to vertical rhythm.

26. Vertical Rhythm

Vertical rhythm is the consistent relationship between vertical measurements across a design. A spacing system helps create predictable rhythm between headings, paragraphs, cards, forms, and sections.

27. Spacing and Line Height

Line height should work harmoniously with the spacing scale. A design system can align typography and spacing values so that text blocks sit naturally within layouts.

28. Spacing and Grid Systems

Spacing systems and grid systems solve related but different problems. A grid helps establish structural alignment, while spacing defines distances between and around elements.

29. Layout Guides

Figma layout guides are visual aids used to keep designs aligned and structured. Layout guides can include uniform grids, columns, and rows.

30. Spacing System and 8-Point Grid

8px  → Small spacing

16px → Standard spacing

24px → Component spacing

32px → Group spacing

40px → Large spacing

48px → Section spacing

64px → Major section spacing

31. Hard 8-Point Grid

A hard grid places objects on fixed increments of 8px. In Figma, a uniform layout guide with a size of 8 can be used to visualize this approach.

32. Soft 8-Point Grid

A soft grid focuses on making distances between elements divisible by 8 instead of forcing every object edge to sit directly on a fixed grid.

33. Modular Grid

A modular grid combines columns and rows to create a structured two-dimensional layout. It is useful for dashboards, editorial layouts, cards, galleries, and complex interfaces.

34. Baseline Grid

A baseline grid uses evenly spaced horizontal lines to create consistent vertical rhythm. An 8-point baseline grid is one common approach.

35. Column Grid

A column grid divides a layout into vertical columns. Margins define the outer space, while gutters define the space between columns.

36. Margin and Gutter

| Margin | Column | Gutter | Column | Gutter | Column | Margin |

|        |        |        |        |        |        |        |

37. Spacing and Auto Layout

Auto Layout is one of the most important Figma features for implementing spacing systems. It allows designers to define padding, gaps, alignment, direction, and resizing behavior so layouts respond automatically to content changes.

38. Adding Auto Layout

Select a frame or layers and use Shift + A to add Auto Layout. Figma can then arrange children using vertical, horizontal, or grid flows.

39. Vertical Auto Layout

Vertical Auto Layout is useful for content that flows from top to bottom, such as forms, cards, lists, article sections, and mobile screens.

40. Horizontal Auto Layout

Horizontal Auto Layout is useful for navigation bars, button groups, icon-label combinations, toolbars, and horizontal cards.

41. Grid Auto Layout

Grid Auto Layout arranges children into rows and columns and is useful for structured layouts such as dashboards, galleries, tables, and bento-style interfaces.

42. Auto Layout Gap

Gap controls the distance between child objects. A specific numeric value gives precise spacing control.

Gap = 16px

 

[Item 1] 16px [Item 2] 16px [Item 3]

43. Auto Spacing

Figma supports automatic spacing for supported horizontal and vertical Auto Layout flows. Options include Between, Evenly, and Around.

44. Space Between

Between distributes available space between objects while keeping no additional space at the outer edges of the distribution.

45. Space Evenly

Evenly distributes space equally between objects and the edges.

46. Space Around

Around distributes space around objects, with the spaces at the edges being half the size of the spaces between adjacent objects.

47. Auto Layout Padding

Padding can be set on all sides, horizontally and vertically, or individually. This makes it possible to create reusable components whose internal spacing remains consistent as content changes.

48. Hug Contents

Hug contents allows a frame to size itself around its children while respecting the defined spacing and padding.

49. Fill Container

Fill container allows a child to use available space within its parent. This is useful for responsive layouts where spacing and dimensions need to adapt to the container.

50. Fixed Sizing

Fixed sizing keeps a layer at a defined width or height. Fixed dimensions should be used intentionally when the design requires a specific size.

51. Spacing in Buttons

A common button structure includes horizontal padding, vertical padding, and a gap between icon and label.

┌─────────────────────────────┐

│ 16px  Icon  8px  Label 16px │

└─────────────────────────────┘

             ↑

      12px vertical padding

52. Spacing in Cards

Cards commonly use consistent internal padding and controlled spacing between image, title, description, metadata, and actions.

Card

↓ 24px padding

Image

↓ 16px

Title

↓ 8px

Description

↓ 16px

Action

53. Spacing in Forms

Forms require clear vertical relationships between labels, inputs, helper text, validation messages, and fields.

Element RelationshipExample
Label → Input8px
Input → Helper text4px–8px
Field → Field16px–24px
Field group → Field group24px–32px

54. Spacing in Navigation

Navigation requires consistent spacing between menu items, icons, labels, and navigation groups. Auto Layout is especially useful for keeping these relationships consistent.

55. Spacing in Lists

List spacing should distinguish individual items while keeping related information grouped together.

56. Spacing in Tables

Tables need consistent cell padding, row height, column spacing, and section separation to remain readable.

57. Spacing in Dashboards

Dashboard interfaces often combine page padding, grid gaps, card padding, widget spacing, and section spacing. A spacing system prevents the dashboard from becoming visually inconsistent.

58. Spacing in Mobile Design

Mobile interfaces require careful use of spacing because screen dimensions are limited. Consistent padding and gaps improve touch usability and readability.

59. Mobile Page Padding

A mobile design can use a consistent horizontal page padding such as 16px or 24px, depending on the design system.

| 16px | Content Area | 16px |

60. Spacing in Desktop Design

Desktop layouts can use larger outer margins and wider section spacing while maintaining the same internal spacing scale.

61. Responsive Spacing

Responsive spacing means that spacing decisions adapt appropriately to different screen sizes. The underlying spacing scale should remain predictable even when container dimensions change.

62. Spacing Across Breakpoints

BreakpointPage PaddingSection Spacing
Mobile16px32px–48px
Tablet24px40px–64px
Desktop32px+48px–80px

63. Spacing and Components

Reusable components should define their own internal spacing rules instead of relying on manual spacing every time they are placed on a screen.

64. Spacing Variants

Components can have variants such as compact, default, and spacious when the product genuinely requires different density levels.

Button

├── Compact

├── Default

└── Large

 

Card

├── Compact

├── Default

└── Spacious

65. Compact Density

Compact spacing is useful for dense dashboards, data tables, admin tools, and interfaces where users need to see large amounts of information.

66. Comfortable Density

Comfortable spacing provides more breathing room and is suitable for consumer products, marketing pages, and content-heavy interfaces.

67. Spacious Density

Spacious layouts use larger gaps and padding to create a premium, calm, or editorial visual experience.

68. Spacing and Negative Space

Negative space is the empty area around and between design elements. A spacing system turns negative space into an intentional design tool rather than random emptiness.

69. Spacing Creates Hierarchy

Small gap

→ Strong relationship

 

Medium gap

→ Related group

 

Large gap

→ Separate section

70. Spacing and Accessibility

Appropriate spacing improves readability, reduces visual crowding, and makes controls easier to understand. Spacing should also support sufficient touch targets and clear interactive relationships.

71. Spacing and Touch Targets

Interactive controls should have enough physical and visual separation to reduce accidental activation. Spacing should be considered together with the actual control size and interaction requirements.

72. Spacing and Visual Balance

Equal spacing is not always visually equal. Designers should consider the size, weight, shape, and visual density of objects when deciding whether a spacing value feels balanced.

73. Optical Spacing

Optical spacing means adjusting mathematically consistent spacing when visual perception makes elements appear closer or farther apart. This should be used carefully so that exceptions do not destroy the overall system.

74. Spacing Exceptions

A good spacing system allows intentional exceptions. An exception should solve a real design problem and should not simply be introduced because a designer prefers an arbitrary value.

75. Documenting Exceptions

When an exception is necessary, document the reason, approved value, and intended usage so that other designers understand why it exists.

76. Spacing Styles in Figma

Spacing decisions can be documented through design-system documentation, layout guides, variables, components, and reusable Auto Layout patterns. Spatial definitions can be documented as references within a design system.

77. Spacing Variables

Spacing values can be represented as variables or tokens in a design system so that designers and developers share consistent values.

space/1 = 4

space/2 = 8

space/3 = 12

space/4 = 16

space/6 = 24

space/8 = 32

space/12 = 48

space/16 = 64

78. Spacing Variables and Components

Spacing variables can be used to create consistent component padding and layout values. If a system value changes, dependent designs can be updated more systematically.

79. Spacing Tokens and Development

A developer can translate spacing tokens into CSS variables, design tokens, or framework-specific values.

:root {

  --space-1: 4px;

  --space-2: 8px;

  --space-3: 12px;

  --space-4: 16px;

  --space-6: 24px;

  --space-8: 32px;

  --space-12: 48px;

  --space-16: 64px;

}

80. Figma to CSS Spacing

Figma ConceptCSS Concept
Auto Layout gapgap
Paddingpadding
Horizontal flowflex-direction: row
Vertical flowflex-direction: column
Betweenjustify-content: space-between
Evenlyjustify-content: space-evenly
Aroundjustify-content: space-around

81. Spacing and Design Tokens

Spacing tokens provide a bridge between design decisions and implementation. They make it easier for design and development teams to use the same approved values.

82. Primitive Spacing Tokens

Primitive tokens describe raw spacing values.

space-4 = 4px

space-8 = 8px

space-12 = 12px

space-16 = 16px

space-24 = 24px

83. Semantic Spacing Tokens

Semantic tokens describe why a spacing value is used.

button-padding-inline

card-padding

form-field-gap

section-gap

page-padding

84. Spacing Hierarchy

Micro

↓

Component

↓

Group

↓

Section

↓

Page

85. Spacing Scale Example

LevelValueTypical Usage
XS4pxMicro spacing
SM8pxIcon/text relationships
MD16pxComponent content
LG24pxGroups
XL32pxSections
2XL48pxLarge sections
3XL64pxPage-level spacing

86. Naming Spacing Tokens

Spacing names should be predictable and easy to understand. Numeric scales are useful for foundations, while semantic names can be useful for component-specific or contextual usage.

87. Good Naming Example

space-1

space-2

space-3

space-4

space-6

space-8

space-12

space-16

88. Poor Naming Example

small-gap-final

new-spacing

test-space

homepage-space

random-16

89. Consistency Between Typography and Spacing

A spacing system should be designed alongside typography, not separately. Heading sizes, line heights, paragraph spacing, and section spacing should create a coherent rhythm.

90. Consistency Between Color and Spacing

Color establishes visual grouping while spacing establishes structural grouping. Together they help users understand hierarchy and relationships.

91. Consistency Between Components

Buttons, cards, inputs, navigation items, modals, and other components should follow shared spacing rules whenever they serve similar purposes.

92. Spacing Audit

A spacing audit checks a design for inconsistent values, unnecessary exceptions, incorrect padding, inconsistent gaps, and components that do not follow the spacing system.

93. Spacing Audit Checklist

  • Check random pixel values.
  • Check inconsistent card padding.
  • Check inconsistent button padding.
  • Check inconsistent gaps.
  • Check section spacing.
  • Check mobile spacing.
  • Check desktop spacing.
  • Check Auto Layout settings.
  • Check component variants.
  • Check spacing tokens.

94. Design Linting

Design linters can help identify inconsistencies such as incorrect spacing or missing styles. Design-system maintenance should include regular checks for consistency.

95. Spacing and Reusable Components

When spacing is built into reusable components, designers do not need to manually recreate the same spacing relationships every time.

96. Spacing in a Design System

Foundations

├── Colors

├── Typography

├── Spacing

├── Grid

├── Icons

└── Effects

        ↓

Components

        ↓

Patterns

        ↓

Screens

97. Spacing Workflow in Figma

Audit Existing UI

↓

Choose Base Unit

↓

Create Spacing Scale

↓

Define Tokens

↓

Document Usage

↓

Build Components

↓

Apply Auto Layout

↓

Test Responsive Screens

↓

Audit and Maintain

98. Creating a Spacing System Step-by-Step

  1. Review existing designs.
  2. Identify repeated spacing values.
  3. Select a base unit such as 4px or 8px.
  4. Create an approved spacing scale.
  5. Define naming conventions.
  6. Document intended usage.
  7. Apply spacing to components.
  8. Use Auto Layout for repeated relationships.
  9. Test mobile and desktop layouts.
  10. Audit the final system.

99. Practical Example: Button Spacing

Create a button component with a text label and optional icon. Add horizontal and vertical padding and define a consistent icon-label gap.

Button

Padding Top    = 12px

Padding Bottom = 12px

Padding Left   = 16px

Padding Right  = 16px

Icon Gap       = 8px

100. Practical Example: Card Spacing

Card Padding = 24px

Image → Title = 16px

Title → Description = 8px

Description → Action = 16px

101. Practical Example: Login Form

Form Container Padding = 32px

Title → Subtitle = 8px

Subtitle → Email = 24px

Label → Input = 8px

Email → Password = 16px

Password → Button = 24px

102. Practical Example: Dashboard

Page Padding = 32px

Header → Content = 32px

Card Gap = 24px

Card Padding = 24px

Card Content Gap = 16px

Section Gap = 48px

103. Practical Project: E-Commerce Website

Create a complete e-commerce page using a consistent spacing system. Define page padding, navigation spacing, product-card padding, product-grid gaps, filter spacing, and section spacing.

104. E-Commerce Spacing Structure

Page

├── Header

│   ├── Logo

│   ├── Navigation

│   └── Actions

├── Hero

├── Category Section

├── Product Grid

│   ├── Product Card

│   ├── Product Card

│   └── Product Card

└── Footer

105. Practical Project: Mobile Banking App

Create a mobile banking interface using consistent page padding, card spacing, transaction-list spacing, button spacing, and section separation.

106. Practical Project: Admin Dashboard

Build an admin dashboard with cards, charts, tables, filters, navigation, and forms. Use a common spacing scale for all major UI elements.

107. Practical Project: Design System

Create a dedicated Figma page containing spacing documentation, token names, examples, Auto Layout components, layout guides, and usage rules.

108. Suggested Figma Spacing Documentation

SPACING SYSTEM

4px  → Micro

8px  → Small

12px → Compact

16px → Default

24px → Component

32px → Group

48px → Section

64px → Major Section

109. Spacing Documentation Page

A spacing documentation page should show each value visually, explain its intended use, and provide examples of where the value should and should not be used.

110. Spacing System Governance

A mature design system should define who can add, modify, deprecate, or approve spacing tokens. Governance prevents uncontrolled growth of spacing values.

111. Versioning Spacing Values

When changing a spacing value used by many components, document the change and evaluate its effect on existing designs and development.

112. Deprecating Spacing Tokens

If an old spacing token should no longer be used, mark it as deprecated, provide a replacement, and gradually migrate existing components.

113. Common Spacing Mistakes

  • Using random spacing values.
  • Mixing too many spacing scales.
  • Ignoring component-level consistency.
  • Using manual positioning instead of Auto Layout.
  • Ignoring responsive behavior.
  • Using inconsistent card padding.
  • Creating unnecessary exceptions.
  • Failing to document the system.
  • Using spacing values that conflict with typography rhythm.
  • Not checking spacing across breakpoints.

114. Best Practices

  • Choose a clear base unit.
  • Keep the spacing scale limited and predictable.
  • Use Auto Layout for component relationships.
  • Use tokens or variables where appropriate.
  • Document intended usage.
  • Use consistent component padding.
  • Use larger spacing to separate major groups.
  • Test designs at different screen sizes.
  • Allow exceptions only when they have a clear purpose.
  • Audit the system regularly.

115. Quick Revision

ConceptMeaning
Spacing SystemDefined set of spacing values
Base UnitFoundation value of the spacing scale
GapSpace between sibling elements
PaddingSpace inside a container around its content
MarginSpace outside an element
8-Point GridSpacing approach based primarily on multiples of 8
TokenNamed reusable design value
Auto LayoutResponsive layout feature for arranging and spacing objects

116. Interview Questions

  1. What is a spacing system in Figma?
  2. Why is spacing important in UI design?
  3. What is an 8-point spacing system?
  4. What is the difference between padding and gap?
  5. What is a spacing scale?
  6. What are spacing tokens?
  7. How does Auto Layout help with spacing?
  8. What is the difference between a hard grid and soft grid?
  9. What is vertical rhythm?
  10. How do spacing systems support responsive design?
  11. How would you create a spacing system for a design system?
  12. How do you audit spacing consistency?
  13. When should a spacing exception be allowed?
  14. How can Figma spacing decisions be translated into CSS?
  15. What is the relationship between spacing and typography?

117. Key Takeaways

  • A spacing system creates consistency across a product.
  • 4-point and 8-point systems are common approaches.
  • Spacing should communicate hierarchy and relationships.
  • Padding controls space inside containers.
  • Gap controls space between Auto Layout children.
  • Auto Layout is essential for scalable spacing behavior.
  • Spacing tokens make values reusable and easier to communicate.
  • Spacing should work together with typography and grids.
  • Responsive layouts require thoughtful spacing across screen sizes.
  • Intentional exceptions are acceptable when properly documented.

118. Complete Spacing System Workflow

Analyze Existing Designs

        ↓

Identify Repeated Values

        ↓

Choose Base Unit

        ↓

Create Spacing Scale

        ↓

Define Tokens

        ↓

Document Usage

        ↓

Create Layout Guides

        ↓

Build Auto Layout Components

        ↓

Apply Spacing Consistently

        ↓

Test Responsive Layouts

        ↓

Audit Designs

        ↓

Maintain Design System

119. Spacing System Checklist

  • Base unit is defined.
  • Spacing scale is documented.
  • Token naming is consistent.
  • Component padding is standardized.
  • Auto Layout gaps are consistent.
  • Page margins are documented.
  • Section spacing is defined.
  • Mobile spacing is tested.
  • Desktop spacing is tested.
  • Spacing exceptions are documented.
  • Design and development values are aligned.
  • Spacing system is reviewed regularly.

120. Conclusion

Spacing Systems in Figma provide a structured foundation for creating clean, consistent, scalable, and responsive user interfaces. Instead of treating empty space as an arbitrary visual choice, a spacing system turns it into an intentional design language.

By combining a consistent spacing scale with Auto Layout, layout guides, grids, components, variables, tokens, typography, and responsive rules, designers can build interfaces that remain visually consistent as products grow.

A strong spacing system should be simple enough for designers to remember, structured enough for teams to follow, flexible enough for real-world interfaces, and documented well enough for developers to implement accurately.

To learn more about professional Figma design and design-system workflows, visit JustAcademy Figma Training or Register for Figma Course Demo.

whatsapp